最近lz一周排了9个面试,面试经常被问到一些数组的问题,比如说es6里面一些数组去重、合并数组,之前压根就没了解过,后来才知道考的都是es6的知识,今天好好挖掘一下,发现一个神奇的点点三姐妹
我们来看看经常使用的方法
1、数组去重
之前的想法可能要遍历数组去重,但是现在又es6的骚操作
var a = [1,1,2,3]
Array.from(new Set()) // 利用es6特性去重方法
[...new Set(arr)] // 利用js扩展运算符的骚操作
2、将一个数组放入另一个数组(打散数组)
var a = [1,2]
var b = [a,3,4]
console.log(b) // [[1,2],3,4]
// 如果使用扩展运算符
var b = [...a, 3,4]
console.log(b) // [1,2,3,4]
3、复制数组(不会改变原数组)
var a = ['1','2','3']
var b = [...a]
console.log(b) // ['1','2','3']
a数组中的元素扩展为单独元素被分配到b中,可以随意改变b数组,且不会对a产生影响。
4、 拼接数组(替换concat)
var a = [1,2,3]
var a = [4,5,6]
a = [...a, ...b]
console.log(a) // [1,2,3,4,5,6]
5、 Math
var a = [1,2,3,4,5]
var max = Math.max(...a)
console.log(max) // 5
6、字符串转换为数组
var a = 'helloworld'
var b = [...a]
console.log(b) // ['h','e','l','l','o','w','o','r','l','d']
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。